home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 14 / CU Amiga Magazine's Super CD-ROM 14 (1997)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1997-09].iso / CUCD / Programming / Mesa-2.2 / src / texture.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-13  |  4.2 KB  |  134 lines

  1. /* $Id: texture.h,v 1.5 1997/02/09 18:53:14 brianp Exp $ */
  2.  
  3. /*
  4.  * Mesa 3-D graphics library
  5.  * Version:  2.2
  6.  * Copyright (C) 1995-1997  Brian Paul
  7.  *
  8.  * This library is free software; you can redistribute it and/or
  9.  * modify it under the terms of the GNU Library General Public
  10.  * License as published by the Free Software Foundation; either
  11.  * version 2 of the License, or (at your option) any later version.
  12.  *
  13.  * This library is distributed in the hope that it will be useful,
  14.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  16.  * Library General Public License for more details.
  17.  *
  18.  * You should have received a copy of the GNU Library General Public
  19.  * License along with this library; if not, write to the Free
  20.  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  */
  22.  
  23.  
  24. /*
  25.  * $Log: texture.h,v $
  26.  * Revision 1.5  1997/02/09 18:53:14  brianp
  27.  * added GL_EXT_texture3D support
  28.  *
  29.  * Revision 1.4  1997/01/09 19:48:58  brianp
  30.  * added gl_texturing_enabled()
  31.  *
  32.  * Revision 1.3  1996/11/14 01:03:09  brianp
  33.  * removed const's from gl_texgen() function to avoid VMS compiler warning
  34.  *
  35.  * Revision 1.2  1996/11/08 02:20:09  brianp
  36.  * gl_do_texgen() replaced with gl_texgen()
  37.  *
  38.  * Revision 1.1  1996/09/13 01:38:16  brianp
  39.  * Initial revision
  40.  *
  41.  */
  42.  
  43.  
  44. #ifndef TEXTURE_H
  45. #define TEXTURE_H
  46.  
  47.  
  48. #include "types.h"
  49.  
  50.  
  51. /*** Called from API ***/
  52.  
  53. extern void gl_GetTexEnvfv( GLcontext *ctx,
  54.                             GLenum target, GLenum pname, GLfloat *params );
  55.  
  56. extern void gl_GetTexEnviv( GLcontext *ctx,
  57.                             GLenum target, GLenum pname, GLint *params );
  58.  
  59. extern void gl_GetTexGendv( GLcontext *ctx,
  60.                             GLenum coord, GLenum pname, GLdouble *params );
  61.  
  62. extern void gl_GetTexGenfv( GLcontext *ctx,
  63.                             GLenum coord, GLenum pname, GLfloat *params );
  64.  
  65. extern void gl_GetTexGeniv( GLcontext *ctx,
  66.                             GLenum coord, GLenum pname, GLint *params );
  67.  
  68. extern void gl_GetTexLevelParameterfv( GLcontext *ctx,
  69.                                        GLenum target, GLint level,
  70.                                        GLenum pname, GLfloat *params );
  71.  
  72. extern void gl_GetTexLevelParameteriv( GLcontext *ctx,
  73.                                        GLenum target, GLint level,
  74.                                        GLenum pname, GLint *params );
  75.  
  76. extern void gl_GetTexParameterfv( GLcontext *ctx, GLenum target,
  77.                                   GLenum pname, GLfloat *params );
  78.  
  79. extern void gl_GetTexParameteriv( GLcontext *ctx,
  80.                                   GLenum target, GLenum pname, GLint *params );
  81.  
  82.  
  83. extern void gl_TexEnvfv( GLcontext *ctx,
  84.                          GLenum target, GLenum pname, const GLfloat *param );
  85.  
  86.  
  87. extern void gl_TexParameterfv( GLcontext *ctx, GLenum target, GLenum pname,
  88.                                const GLfloat *params );
  89.  
  90.  
  91. extern void gl_TexGenfv( GLcontext *ctx,
  92.                          GLenum coord, GLenum pname, const GLfloat *params );
  93.  
  94.  
  95.  
  96. /*** Internal functions ***/
  97.  
  98.  
  99. extern void gl_texgen( GLcontext *ctx, GLint n,
  100.                        GLfloat obj[][4], GLfloat eye[][4],
  101.                        GLfloat normal[][3], GLfloat texcoord[][4] );
  102.  
  103.  
  104. extern void gl_texture_pixels_1d( GLcontext *ctx,
  105.                                   GLuint n,
  106.                                   GLfloat s[], GLfloat lambda[],
  107.                   GLubyte red[], GLubyte green[],
  108.                   GLubyte blue[], GLubyte alpha[] );
  109.  
  110.  
  111. extern void gl_texture_pixels_2d( GLcontext *ctx,
  112.                                   GLuint n,
  113.                                   GLfloat s[], GLfloat t[], GLfloat lambda[],
  114.                   GLubyte red[], GLubyte green[],
  115.                   GLubyte blue[], GLubyte alpha[] );
  116.  
  117.  
  118. extern void gl_texture_pixels_3d( GLcontext *ctx,
  119.                                   GLuint n,
  120.                                   GLfloat s[], GLfloat t[], 
  121.                                   GLfloat r[], GLfloat lambda[],
  122.                                   GLubyte red[], GLubyte green[],
  123.                                   GLubyte blue[], GLubyte alpha[] );
  124.  
  125.  
  126. extern void gl_update_texture_state( GLcontext *ctx );
  127.  
  128.  
  129. extern GLboolean gl_texturing_enabled( GLcontext *ctx );
  130.  
  131.  
  132. #endif
  133.  
  134.